"""
@author: ztt
@file: 2022-12-11-作业.py
@time: 2022/12/12 16:20
"""
from functools import reduce

#1、匿名函数+reduce实现1*2*3*...*n
# n = int(input("请输入阶乘数n："))
# print(reduce(lambda x,y: x * y,range(1,n+1)))

#2、filter函数：找出[1-100]内能被3整除的数
# print(list(filter(lambda x : x%3==0 ,range(1,101))))

#3、map函数：求list[1-10]各项的平方
# print(list(map(lambda x : x**2,range(1,11))))

#4、将列表[1，4，5，9]转换成"1459"字符串
# lst = [1,4,5,9]
# print(str(reduce(lambda x,y : x*10+y, lst)))

#5、将字符串排序，规则：小写<大写<奇数<偶数
s = 'asdf234GDSdsf23'
print(" ".join(sorted(s,key=lambda x : (x.isdigit(),x.isdigit() and int(x)%2==0,x.isupper(),x))))